{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "100ML Day4-2_LogisticRegression.ipynb",
      "provenance": [],
      "authorship_tag": "ABX9TyNhOHhM7I+kGrQM/qvGna1w",
      "include_colab_link": true
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "view-in-github",
        "colab_type": "text"
      },
      "source": [
        "<a href=\"https://colab.research.google.com/github/Divyanshu-ISM/Machine-Learning-Deep-Learning/blob/main/100ML_Day4(2)-%20LogisticRegression.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "075wRf4wCEbC"
      },
      "source": [
        "#100ML - Day 2 : Part 2 - Logistic Regression"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "i0eKMsaY-y0a"
      },
      "source": [
        "import numpy as np\r\n",
        "import pandas as pd\r\n",
        "import seaborn as sns\r\n",
        "import matplotlib.pyplot as plt"
      ],
      "execution_count": 1,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "CQpBq-pFCDTw"
      },
      "source": [
        "df = pd.read_csv('https://raw.githubusercontent.com/Avik-Jain/100-Days-Of-ML-Code/master/datasets/Social_Network_Ads.csv')"
      ],
      "execution_count": 2,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 195
        },
        "id": "lKzhK0QxCTCG",
        "outputId": "8b69da25-22d4-4496-c5ed-da9abb24c07f"
      },
      "source": [
        "df.head()"
      ],
      "execution_count": 3,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>User ID</th>\n",
              "      <th>Gender</th>\n",
              "      <th>Age</th>\n",
              "      <th>EstimatedSalary</th>\n",
              "      <th>Purchased</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>15624510</td>\n",
              "      <td>Male</td>\n",
              "      <td>19</td>\n",
              "      <td>19000</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>15810944</td>\n",
              "      <td>Male</td>\n",
              "      <td>35</td>\n",
              "      <td>20000</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>15668575</td>\n",
              "      <td>Female</td>\n",
              "      <td>26</td>\n",
              "      <td>43000</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>15603246</td>\n",
              "      <td>Female</td>\n",
              "      <td>27</td>\n",
              "      <td>57000</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>15804002</td>\n",
              "      <td>Male</td>\n",
              "      <td>19</td>\n",
              "      <td>76000</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "    User ID  Gender  Age  EstimatedSalary  Purchased\n",
              "0  15624510    Male   19            19000          0\n",
              "1  15810944    Male   35            20000          0\n",
              "2  15668575  Female   26            43000          0\n",
              "3  15603246  Female   27            57000          0\n",
              "4  15804002    Male   19            76000          0"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 3
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "6lHznCpXCaUk"
      },
      "source": [
        "So, this is a Dataset where we have to identify the user features and predict/classify weather he/she will make a purchase or not."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "sMNzicMFCUXF",
        "outputId": "ea942c97-e13f-40e9-8f3b-8e47d41ceb52"
      },
      "source": [
        "df.info()"
      ],
      "execution_count": 4,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "<class 'pandas.core.frame.DataFrame'>\n",
            "RangeIndex: 400 entries, 0 to 399\n",
            "Data columns (total 5 columns):\n",
            " #   Column           Non-Null Count  Dtype \n",
            "---  ------           --------------  ----- \n",
            " 0   User ID          400 non-null    int64 \n",
            " 1   Gender           400 non-null    object\n",
            " 2   Age              400 non-null    int64 \n",
            " 3   EstimatedSalary  400 non-null    int64 \n",
            " 4   Purchased        400 non-null    int64 \n",
            "dtypes: int64(4), object(1)\n",
            "memory usage: 15.8+ KB\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "tJPXNJqGCkqc"
      },
      "source": [
        "# set(df['User ID'])\r\n",
        "df['Male'] = pd.get_dummies(df['Gender'],drop_first=True)"
      ],
      "execution_count": 14,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "8PAeArKRCzSu"
      },
      "source": [
        "X = df[['Male','Age','EstimatedSalary']].values\r\n",
        "y = df['Purchased'].values"
      ],
      "execution_count": 15,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "oTEJyk9lEA07"
      },
      "source": [
        "#"
      ],
      "execution_count": 16,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "4IZdSrbUDNGl"
      },
      "source": [
        "Train-Test Split"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "OKDZSwblDJjW"
      },
      "source": [
        "from sklearn.model_selection import train_test_split\r\n",
        "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25, random_state = 0)"
      ],
      "execution_count": 17,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "6VhZ32aBDiz1"
      },
      "source": [
        "Feature Scaling"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "jeNIVOf_Dahp"
      },
      "source": [
        "from sklearn.preprocessing import StandardScaler\r\n",
        "scaler = StandardScaler()"
      ],
      "execution_count": 18,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "qcuiKGU_Du1C"
      },
      "source": [
        "scaled_X_train = scaler.fit_transform(X_train)\r\n",
        "scaled_X_test = scaler.transform(X_test)"
      ],
      "execution_count": 19,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "4qnQY39wE4uZ"
      },
      "source": [
        "Logistic Regression Model"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "g3tHycYTD6hy"
      },
      "source": [
        "from sklearn.linear_model import LogisticRegression"
      ],
      "execution_count": 20,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "3zHcbaTSE36J"
      },
      "source": [
        "classifier = LogisticRegression()"
      ],
      "execution_count": 29,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "QcDKgu69E-RL",
        "outputId": "d73781c3-3a4e-42bf-8d99-85655fca6317"
      },
      "source": [
        "classifier.fit(scaled_X_train,y_train)"
      ],
      "execution_count": 30,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n",
              "                   intercept_scaling=1, l1_ratio=None, max_iter=100,\n",
              "                   multi_class='auto', n_jobs=None, penalty='l2',\n",
              "                   random_state=None, solver='lbfgs', tol=0.0001, verbose=0,\n",
              "                   warm_start=False)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 30
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "mpHrV5l0FCeE"
      },
      "source": [
        "yp = classifier.predict(scaled_X_test)"
      ],
      "execution_count": 31,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "7eZgqw_TFK1w"
      },
      "source": [
        "from sklearn.metrics import accuracy_score, confusion_matrix"
      ],
      "execution_count": 32,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "lUVm5iUAFQDz",
        "outputId": "efb4bae5-dad9-4297-f452-e64b6a972f66"
      },
      "source": [
        "accuracy_score(y_test,yp)"
      ],
      "execution_count": 33,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "0.9"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 33
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "FNE-quq5FU1O",
        "outputId": "8a288fc2-65ea-4a83-dd03-9b8f46716c70"
      },
      "source": [
        "cm1 = confusion_matrix(y_test,yp)\r\n",
        "cm1"
      ],
      "execution_count": 36,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "array([[65,  3],\n",
              "       [ 7, 25]])"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 36
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 452
        },
        "id": "MwvpdT_6Fc3C",
        "outputId": "3d4b480f-d5e9-470d-abae-76c5eed04b51"
      },
      "source": [
        "plt.style.use('default')\r\n",
        "ac1 = accuracy_score(yp,y_test)\r\n",
        "plt.title(f'Accuracy(Scaled)-{ac1*100}%')\r\n",
        "sns.heatmap(cm1,cmap='Dark2_r',annot=True,annot_kws={'fontsize':35});"
      ],
      "execution_count": 52,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAf8AAAGzCAYAAAAhax6pAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3deXQUVd7G8aezdYcsnX1BCISwBEREFkNkURFlBFEEERiVRdRRkUEyOso7Km4zcR0UZFMZUAdEEVFxQQURVHYQEZA97CSQQBLI0gnpev/w0GPTARJI6IT6fs7po32r6t5fOIGnq+rWbYthGIYAAIBp+Hi7AAAAcGER/gAAmAzhDwCAyRD+AACYDOEPAIDJEP4AAJgM4Q8AgMkQ/gAAmAzhDwCAyRD+wHl68MEHdf3113u7DE2fPl0Wi0W7du2qsj6HDBmihg0but7n5OQoKChIX375ZZWNAeDCI/xxWhMnTpTFYlFKSoq3S6mxMjIy9Pbbb+v//u//3NoPHz6skSNHKjk5WYGBgYqJidGVV16pxx57TMePH/dStecvMjJS99xzj5588slKHTdr1iy1adNGNptN0dHRGjZsmLKzs8vdd+rUqWrevLlsNpuaNGmi8ePHV3gch8Ohxx57THXr1lVgYKBSUlL07bffeuw3ZcoUJSYmKiIiQnfddZfy8/PdtjudTl1xxRX617/+VamfE6g1DOA0rrrqKqNhw4aGJGPbtm3eLqdGGjlypNG0aVO3tpycHCMhIcEICwsz0tLSjDfffNNIT083Bg4caISEhBgZGRnVUsu0adMMSVXa/+DBg40GDRq4tW3atMmQZCxcuLBCfUycONGQZFx33XXGhAkTjNGjRxt16tQxWrVqZRQVFbntO3nyZEOS0bdvX+PNN9807rrrLkOS8cILL1RorAEDBhh+fn7GI488YkyZMsVITU01/Pz8jB9++MG1zw8//GBYLBZj5MiRxuuvv27ExcUZ9913n0cdiYmJRnFxcYXGBWobwh/l2rlzpyHJ+Pjjj43o6Gjj6aef9nZJ5Tp+/LjXxi4pKTGioqKMJ554wq39pZdeMiQZP/30k8cxeXl5HoFXVS5U+BuGYbRs2dK46667znq8w+EwwsLCjC5duhhOp9PVPm/ePEOSMW7cOFdbYWGhERkZafTs2dOtjzvuuMMICgoyjhw5csaxVqxYYUgyXn75ZVdbUVGRkZSUZKSmprraHnvsMePaa691vZ82bZoRFxfnen/06FEjKirKmDNnzll/PqC24rI/yjVjxgyFh4erZ8+euu222zRjxgyPfXJzczVq1Cg1bNhQVqtV9erV06BBg9wu5xYXF+vpp59W06ZNZbPZFB8frz59+mjHjh2SpO+//14Wi0Xff/+9W9+7du2SxWLR9OnTXW1DhgxRcHCwduzYoR49eigkJER33HGHJOmHH35Qv379lJCQIKvVqvr162vUqFEqKiryqHvz5s26/fbbFR0drcDAQDVr1kz/+Mc/JEmLFi2SxWLR3LlzPY6bOXOmLBaLli1bJkn68ccflZ2drW7durntt2PHDvn6+qpDhw4efYSGhspms7m1rVixQj169FB4eLiCgoLUqlUrvf76667t69ev15AhQ9SoUSPZbDbFxcXp7rvvVk5Ojkf/5fnqq6/UuXNnBQUFKSQkRD179tTGjRs99vvkk0/UsmVL2Ww2tWzZstw/g5Ouv/56zZs3T8ZZvhR0w4YNys3NVf/+/WWxWFztN910k4KDgzVr1ixX26JFi5STk6MHH3zQrY/hw4eroKBAX3zxxRnH+uijj+Tr66v77rvP1Waz2TRs2DAtW7ZMe/fulSQVFRUpPDzctU9ERIQKCwtd759++mlddtll6tOnzxnHA2ozwh/lmjFjhvr06aOAgAANHDhQ27Zt06pVq1zbjx8/rs6dO2v8+PG64YYb9Prrr+v+++/X5s2btW/fPklSWVmZbrrpJj3zzDNq27atXn31VY0cOVJ5eXnasGHDOdV14sQJde/eXTExMXrllVfUt29fSdLs2bNVWFioBx54QOPHj1f37t01fvx4DRo0yO349evXKyUlRd99953uvfdevf766+rdu7fmzZsnSbrmmmtUv379cj/szJgxQ0lJSUpNTZUkLV26VBaLRVdccYXbfg0aNFBZWZnee++9s/483377rbp06aJNmzZp5MiRevXVV3Xttdfq888/d9tn586dGjp0qMaPH68BAwZo1qxZ6tGjx1nD97333lPPnj0VHBysF198UU8++aQ2bdqkTp06uU0M/Oabb9S3b19ZLBalp6erd+/eGjp0qFavXl1uv23btlVubm65HyL+yOFwSJICAwM9tgUGBurnn3+W0+mUJP3888+SpHbt2nmM5ePj49p+Oj///LOaNm2q0NBQt/Yrr7xSkrRu3TpJUvv27TV//nx988032rZtm1599VXXPps2bdLkyZP12muvnXEsoNbz9qUH1DyrV682JBnffvutYRiG4XQ6jXr16hkjR4507fPUU0+5bguc6uTl3f/85z+GJOPf//73afdZtGiRIclYtGiR2/aMjAxDkjFt2jRX2+DBgw1JxuOPP+7RX2FhoUdbenq6YbFYjN27d7vaunTpYoSEhLi1/bEewzCM0aNHG1ar1cjNzXW1HTp0yPDz8zPGjBnjarvzzjuNyMhIj3EzMzON6OhoQ5KRnJxs3H///cbMmTPd+jMMwzhx4oSRmJhoNGjQwDh69Ohp6ynvZ3v//fcNScaSJUtcbade9j927JgRFhZm3HvvvR712e12t/bWrVsb8fHxbjV+8803hqRyL/svXbrUkGR88MEHHtv+6PDhw4bFYjGGDRvm1r5582ZDkiHJyM7ONgzDMIYPH274+vqW2090dLQxYMCAM4516aWXGl27dvVo37hxoyHJmDx5smEYv/+59+nTxzV+/fr1jfXr1xuGYRg33HCDcf/9959xHOBiwJk/PMyYMUOxsbG69tprJUkWi0X9+/fXrFmzVFZWJkmaM2eOLr/8ct16660ex5+8vDtnzhxFRUVpxIgRp93nXDzwwAMebX88sywoKFB2drauuuoqGYbhOmM8fPiwlixZorvvvlsJCQmnrWfQoEFyOBz66KOPXG0ffPCBTpw4oTvvvNPVlpOT43b5+KTY2Fj98ssvuv/++3X06FFNnjxZf/7znxUTE6PnnnvOdbb+888/KyMjQw8//LDCwsJOW88ff7bi4mJlZ2e7bimsXbv2tH9O3377rXJzczVw4EBlZ2e7Xr6+vkpJSdGiRYskSQcPHtS6des0ePBg2e121/HXX3+9WrRoUW7fJ3/u083YPykqKkq333673nnnHb366qvauXOnfvjhB/Xv31/+/v6S5Lo1U1RUpICAgHL7sdls5d7C+aOioiJZrdZyj/3jOL6+vpozZ462bdum1atXa+vWrbrsssv02WefaeXKlXruuee0f/9+9erVS3Xr1lWvXr104MCBM44N1DaEP9yUlZVp1qxZuvbaa5WRkaHt27dr+/btSklJUVZWlhYuXCjp9/vaLVu2PGNfO3bsULNmzeTn51dl9fn5+alevXoe7Xv27NGQIUMUERGh4OBgRUdH6+qrr5Yk5eXlSZJ27twpSWetOzk5We3bt3e79D9jxgx16NBBjRs3dtvXOM1l9/j4eE2aNEkHDx7Uli1bNG7cOEVHR+upp57S1KlTJck17+Fs9Rw5ckQjR45UbGysAgMDFR0drcTERLefrTzbtm2TJHXt2lXR0dFur2+++UaHDh2SJO3evVuS1KRJE48+mjVrVm7fJ3/ukx9SioqKlJmZ6fY6acqUKerRo4ceeeQRJSUlqUuXLrrsssvUq1cvSVJwcLCk3z/klJSUlDtecXFxubcO/igwMNB1m+HUY09u/6PGjRurbdu2stlsKikp0d/+9jeNGTNGUVFRGjBggAIDAzVv3jzZbDb9+c9/PuPYQG1Tdf8q46Lw3Xff6eDBg5o1a5bbZKyTZsyYoRtuuKHKxjvdFYCTVxhOZbVa5ePj47Hv9ddfryNHjuixxx5TcnKygoKCtH//fg0ZMsR1T7kyBg0apJEjR2rfvn1yOBxavny53njjDbd9IiMjdfTo0TP2Y7FY1LRpUzVt2lQ9e/ZUkyZNNGPGDN1zzz0VruX222/X0qVL9eijj6p169YKDg6W0+nUn/70pzP+bCe3vffee4qLi/PYfj4fyk7+3FFRUZJ+vzIydOhQt31OfkCw2+369NNPtWfPHu3atUsNGjRQgwYNdNVVVyk6Otp11SM+Pl5lZWU6dOiQYmJiXP2UlJQoJydHdevWPWNN8fHx2r9/v0f7wYMHJemMx48dO1Z+fn566KGHtHfvXv3444/KyMhQw4YN9dJLL6lRo0bat29fuR88gdqI8IebGTNmKCYmRhMmTPDY9vHHH2vu3LmaPHmykpKSzjppLykpSStWrFBpaanrEu+pTl4+zs3NdWs/eTZaEb/++qu2bt2qd955x22C36mLuzRq1EiSKjTZcMCAAUpLS9P777+voqIi+fv7q3///m77JCcna8aMGcrLy3O7XH46jRo1Unh4uCuMkpKSXPWc+sTASUePHtXChQv1zDPP6KmnnnK1nzyrP5OT/cfExJy2f+n3CYqn63PLli3lHpORkSFJat68uSSpe/fu5S6m80cJCQmu2y25ublas2aNa8KmJLVu3VqStHr1avXo0cPVvnr1ajmdTtf202ndurUWLVqk/Px8t0l/K1ascOv/VAcPHtTzzz+v2bNny8/Pz3WJ/+SHhZP/3b9/P+GPi4dXZxygRiksLDRCQkKMu+++u9ztP/30kyHJmDVrVpVN+MvNzTV8fX2NUaNGuW3v27dvuRP+goKCPPpav369IcmYPn26W/89e/b06KMiE/5Ouvnmm41WrVoZTZs2NXr16uWxfeHCheUudrN8+fJy1x84+Rz6zTffbBiGYZSVlZ11wl9eXp4hyWOdhQcffNCQ5DYB8dQJf3l5eUZoaKhx9dVXGyUlJR71HDp0yPX/lZ3wN2rUKMNut5f751YR999/v+Hj42OsXLnS1VZYWGhEREQYN910k9u+d955p1GnTh0jJyfH1Xb48GHjt99+MwoKClxty5cv93jOv7i42GjcuLGRkpJy2loGDRpk9OjRw/X+5GTTX375xTAMw/j5558NScauXbvO6WcFaiLO/OHy2Wef6dixY7r55pvL3d6hQwdFR0drxowZmjlzpj766CP169dPd999t9q2basjR47os88+0+TJk3X55Zdr0KBBevfdd5WWlqaVK1eqc+fOKigo0IIFC/Tggw/qlltukd1uV79+/TR+/HhZLBYlJSXp888/d92Projk5GQlJSXpkUce0f79+xUaGqo5c+aUe0l+3Lhx6tSpk9q0aaP77rtPiYmJ2rVrl7744gvXo2AnDRo0SLfddpsk6bnnnvPoq1OnToqMjNSCBQvUtWtXV/t7772nGTNm6NZbb1Xbtm0VEBCg3377Tf/5z39ks9lcSwH7+Pho0qRJ6tWrl1q3bq2hQ4cqPj5emzdv1saNG/X1118rNDRUXbp00UsvvaTS0lJdcskl+uabb1xn3mcSGhqqSZMm6a677lKbNm00YMAARUdHa8+ePfriiy/UsWNH162M9PR09ezZU506ddLdd9+tI0eOaPz48br00kvLXY7422+/Va9evSo0cfOFF17Qhg0blJKSIj8/P33yySf65ptv9Pzzz6t9+/au/QIDA/Xcc89p+PDh6tevn7p3764ffvhB//3vf/XPf/5TERERrn3feOMNPfPMM1q0aJGuueYaSVJKSor69eun0aNH69ChQ2rcuLHeeecd7dq1yzXP4lQrV67UBx98oPXr17vaGjZsqHbt2mnIkCEaNmyY3n77baWkpLiukAAXBW9/+kDN0atXL8Nms7mdTZ1qyJAhhr+/v5GdnW3k5OQYDz30kHHJJZcYAQEBRr169YzBgwe7Ht0yjN/P5v7xj38YiYmJhr+/vxEXF2fcdtttxo4dO1z7HD582Ojbt69Rp04dIzw83PjLX/5ibNiwocJn/obx+5Kz3bp1M4KDg42oqCjj3nvvNX755RePPgzDMDZs2GDceuutRlhYmGGz2YxmzZoZTz75pEefDofDCA8PN+x2+2lX5fvrX/9qNG7c2K1t/fr1xqOPPmq0adPGiIiIMPz8/Iz4+HijX79+xtq1az36+PHHH43rr7/eCAkJMYKCgoxWrVoZ48ePd23ft2+fq1673W7069fPOHDgwFnP/E9atGiR0b17d8Nutxs2m81ISkoyhgwZYqxevdptvzlz5hjNmzc3rFar0aJFC+Pjjz8ud4W/3377zZBkLFiwoNw/k1N9/vnnxpVXXmmEhIQYderUMTp06GB8+OGHp93/zTffNJo1a2YEBAQYSUlJxtixYz2uMIwZM6bcR0SLioqMRx55xIiLizOsVqvRvn17Y/78+eWO43Q6jZSUFCMtLc1j2/bt240uXboYwcHBRpcuXdx+X4GLgcUwzrJKCGBSJ06ccD3qdbozx507dyo5OVlfffWVrrvuugtcoXc8/PDDWrJkidasWXNej2wC8B4e9QNO45NPPtHhw4c9Vgn8o0aNGmnYsGF64YUXLmBl3pOTk6O3335bzz//PMEP1GKc+QOnWLFihdavX6/nnntOUVFRZ1xIBwBqI878gVNMmjRJDzzwgGJiYvTuu+96uxwAqHKc+QMAYDKc+QMAYDKEPwAAJkP4AwBgMjVmhb960x73dglAjdNz+Zm/OAgwqylTplRr/1WZSfuG1rxHgTnzBwDAZAh/AABMhvAHAMBkCH8AAEyG8AcAwGQIfwAATIbwBwDAZAh/AABMhvAHAMBkCH8AAEyG8AcAwGQIfwAATIbwBwDAZAh/AABMhvAHAMBkCH8AAEyG8AcAwGQIfwAATIbwBwDAZAh/AABMhvAHAMBkCH8AAEyG8AcAwGQIfwAATIbwBwDAZAh/AABqkP379+vOO+9UZGSkAgMDddlll2n16tWu7YZh6KmnnlJ8fLwCAwPVrVs3bdu2rVJjEP4AANQQR48eVceOHeXv76+vvvpKmzZt0quvvqrw8HDXPi+99JLGjRunyZMna8WKFQoKClL37t1VXFxc4XH8qqN4AADwO4fDIYfD4dZmtVpltVo99n3xxRdVv359TZs2zdWWmJjo+n/DMPTaa6/piSee0C233CJJevfddxUbG6tPPvlEAwYMqFBNnPkDAFCN0tPTZbfb3V7p6enl7vvZZ5+pXbt26tevn2JiYnTFFVforbfecm3PyMhQZmamunXr5mqz2+1KSUnRsmXLKlwT4Q8AQDUaPXq08vLy3F6jR48ud9+dO3dq0qRJatKkib7++ms98MAD+utf/6p33nlHkpSZmSlJio2NdTsuNjbWta0iuOwPAEA1Ot0l/vI4nU61a9dO//rXvyRJV1xxhTZs2KDJkydr8ODBVVYTZ/4AANQQ8fHxatGihVtb8+bNtWfPHklSXFycJCkrK8ttn6ysLNe2iiD8AQCoITp27KgtW7a4tW3dulUNGjSQ9Pvkv7i4OC1cuNC1PT8/XytWrFBqamqFx+GyPwAANcSoUaN01VVX6V//+pduv/12rVy5Um+++abefPNNSZLFYtHDDz+s559/Xk2aNFFiYqKefPJJ1a1bV717967wOIQ/AAA1RPv27TV37lyNHj1azz77rBITE/Xaa6/pjjvucO3z97//XQUFBbrvvvuUm5urTp06af78+bLZbBUex2IYhlEdP0Bl1Zv2uLdLAGqcnsuPersEoEaaMmVKtfZflZm0b+gLVdZXVeGePwAAJkP4AwBgMoQ/AAAmQ/gDAGAyhD8AACZD+AMAYDKEPwAAJkP4AwBgMoQ/AAAmw/K+AACc4rvFL1ddZ6zwBwAAvI3wBwDAZAh/AABMhvAHAMBkCH8AAEyG8AcAwGQIfwAATIbwBwDAZAh/AABMhvAHAMBkCH8AAEyG8AcAwGQIfwAATIbwBwDAZAh/AABMhvAHAMBkCH8AAEyG8AcAwGQIfwAATIbwBwDAZAh/AABMhvAHAMBk/LxdAKpWhDVILSPrqkFIhEIDbLJYLCosLVFmYb4y8rO1NfeQygynt8sEarTAwEDFxMQoIiJCoaGhslqt8vPzU3FxsQoLC5WTk6M9e/bI4XB4u1TgnBD+F4FAP3/1b9JO/Rq31WWRdeVjOf0FncLSEv2SvU+L9m/RvIz12nv86Fn7n/2n+5Qa36hKak169wk5yk5USV9AVfDx8VHDhg3VuHFjJSUlqX79+oqMjDzrcU6nU3v27NHSpUu1YsUKFRcXX4BqgapB+NdytzZqrSfa91BsndAK7V/HP0Cp8Y2UGt9IEbYgPb/qy2quEKjZ6tatq8cee6zSx5380NCwYUPddNNN+vDDD7Vq1apqqBCoeoR/LeVn8dGLHfuof5N23i4FML3Q0FDdc889atSokT744ANvlwOcFeFfC/lafPRm1zt1Q0ILj215jiIt2r9Fm44c1OGi4yo8USJ7gE11g8LUIiJeV8YmKswaeF7j5zoKtf947jkd6zSM8xobqG5lZWXat2+fDhw4oEOHDikvL08Oh0OGYSgwMFCxsbFq3LixGjXyvBXWtWtXFRcX69NPP/VC5UDFEf610LMpvTyCP9dRqBfXfK33t67SiTNM6PO1+CglLlEDm7RTyTnee/9mz29K+3H2OR0L1ET79+/Xhg0btGHDBmVkZKi0tPSsx8TGxmrAgAFq0cL972L37t21du1a7d27t7rKBc4b4V/LdIxP0uDmqW5tW3OzNGD+2zpUdOysx5cZTi09uENLD+6orhKBWmXfvn169tlnK31cVlaWxo0bp3vuuUft2v3v9puvr6+6deumadOmVWWZQJXiOf9axObrpxevutWtbd/xo+o//60KBT+AqmUYhmbMmKGioiK39ssvv1w+PvzzipqL385aZFiLTmoYGuXW9tSKeTpcdNxLFQEoLCzUpk2b3NoCAwMVHh7upYqAsyP8a5E/N2vv9n555k59s2fTafYGcKFkZ2d7tIWGVuzxW8AbCP9aonPdxmoQ4r7wyEfb13qpGgB/5OfnOX3qxAkWs0LNRfjXEn2SrnB7f8JZpi93b/BSNQD+KCEhwe290+lUTk6Ol6oBzo7wryXaxTRwe5+Rn6P8EpYTBbwtMTFRSUlJbm179uxRYWGhlyoCzo5H/WoBe0CgEk+Z6Pfb0YNu71tExKtvUhulxiWqYWiUAv38lesoVE5xgTYdOajF+7dqwd7Nyitxn5V8LhqEROj/2v1J7WMaql5wuMKtdVTqLNNRR6Fyio9r7eG9Wp65U4v3b1PhiZLzHg+oqeLj43Xfffd5zOz/7rvvvFQRUDGEfy1weVQ9j7Zd+b9fUgzxt+qfqb09bgtIUnRgiKIDQ5QcHqc+SVcoz1GkyRuW6K2NP6j4PL5cJyUuUSlxiW5tNvkrJMCmhJAIXRGdoGEtOirXUahpm5Zq6qaflFsFHzqAmsDX11cJCQlKSUlRp06d5O/v77Z948aNWrFihZeqAyqG8K8FEkIiPNqOlzqUZI/Wf6+/W/VDKvZIkd0aqMfadlf3hBYasuAdZRdX7yOCYdY6GnVFN/Vv2k73L5qptYf3VOt4QFWx2+0aMWKEW5uPj49sNpvCwsLk6+tb7nFbtmzRlClTLkSJwHnhnn8tYA/wXIs/wMdP73Qb4hH8RSdKtCs/Rxn52SooLf+7xltH19enNz2gMGudc66pzOlUZmG+tuUe0s68wzpaXHDafesGhemjG+9TjwYtz3k84ELy8/NT/fr13V6XXHKJIiMjyw3+48ePa86cORo7dqwcjvL/3gEV8fTTT8tisbi9kpOTXduLi4s1fPhwRUZGKjg4WH379lVWVlalx+HMvxawW20ebcNbXa1AvwDX+xWZGXr9l++09OAO19r+PhaLroxpqIdaXaNr6jVzO75BSKRe69xPQxa8U6EanIZTq7J2a8He3/TTwR3ampvlcesgJjBEHeOTNKR5qtqeMkExwNdPr3e5Xfu+PKr1OfsrNCZQ05WVlWnhwoX6/PPPCX1UmUsvvVQLFixwvf/jo6SjRo3SF198odmzZ8tut+uhhx5Snz599NNPP1VqDMK/Fgjx9wz/Pwb/hPXfK33NfI99nIah5VkZWv5thh5o2UX/aN/DbXu3+s11U8PL9PmuX884/ofb1+jvS+coI//Mjy4dKjqmuTvXae7Odbol8XK92LGPgv2tbjVPvGagrv743yo7w5cPAbWFr6+vbrjhBrVp00YLFizQ4sWL5XTyu43z4+fnp7i4OI/2vLw8TZ06VTNnzlTXrl0lSdOmTVPz5s21fPlydejQoeJjVFm1qDb+PuXfX5SkzzJ+KTf4TzVpwxJdEhyuIad8KdD9LbucNfxnb19TsUL/4NOMX7T7WI5m33if2weVhqFRGtCknWZsXVnpPoELJScnR3/5y1/c2vz8/FSnTh3FxcWpcePG6tixo6Kifn8KJyoqSgMGDFCHDh00ZcoUHTlyxBtlo4ZyOBweV4asVqusVmu5+2/btk1169aVzWZTamqq0tPTlZCQoDVr1qi0tFTdunVz7ZucnKyEhAQtW7asUuFf6Xv+2dnZeumll3TrrbcqNTVVqampuvXWW/Xyyy/r8OHDle0OFVDqLCu3vfhEqZ5c/lmF+/nX6q+U63Cfdd86ur6ah3t+wqwK67L36ekVn3u0D7u0Y7WMB1SnEydOKD8/X1u3btWXX36pJ554QrNnz3b7+t+GDRvqb3/7m8LCwrxYKWqa9PR02e12t1d6enq5+6akpGj69OmaP3++Jk2apIyMDHXu3FnHjh1TZmamAgICPH6/YmNjlZmZWamaKhX+q1atUtOmTTVu3DjZ7XZ16dJFXbp0kd1u17hx45ScnKzVq1dXqgCcXeGJ8r9b/KvdG5Rzhol2nv2U6OMdnksCd4hrdM61nc3721ZpZ577h8KmYbGKr8O656jdDMPQggULNGXKFJWV/e8DelRUlIYMGeK9wlDjjB49Wnl5eW6v0aNHl7vvjTfeqH79+qlVq1bq3r27vvzyS+Xm5urDD7O78IgAAB/TSURBVD+s0poqFf4jRoxQv379tHfvXk2fPl0vvviiXnzxRU2fPl179uzRbbfd5vF4THkcDofy8/PdXkYp62CfzlFH+QH/48Edle6rvGPaRieUs2fVcBqGvtjluQzxVfFJ5ewN1D6//vqrFi1a5NbWvHlzXXrppV6qCDWN1WpVaGio2+t0l/xPFRYWpqZNm2r79u2Ki4tTSUmJcnNz3fbJysoqd47AmVQq/H/55ReNGjVKFovFY5vFYtGoUaO0bt26s/ZT3iWQY18sr0wpppJ9mq/s3XjkQKX72pjjeUxMnZBK91MZK7IyPNrig+zVOiZwIX399dceE/06d+7spWpwMTl+/Lh27Nih+Ph4tW3bVv7+/lq4cKFr+5YtW7Rnzx6lpqaeoRdPlZrwFxcXp5UrV7o9c/hHK1euVGxs7Fn7GT16tNLS0tzams96tjKlmMqe40fLbT/1/n1F5Do81xsPP4/n/SviUNExj7ZIW3C1jglcSPn5+dq3b5/bF/w0adLEixXhfL0d/mmV9fVSJfZ95JFH1KtXLzVo0EAHDhzQmDFj5Ovrq4EDB8put2vYsGFKS0tTRESEQkNDNWLECKWmplZqsp9UyfB/5JFHdN9992nNmjW67rrrXEGflZWlhQsX6q233tIrr7xy1n7Km+Vo8efBg9PZkXuo3PaSc1ii11HOMQG+1ftnX1zOnIVAP/9y9gRqryNHjriFf3BwsKxWK8//o1L27dungQMHKicnR9HR0erUqZOWL1+u6OhoSdLYsWPl4+Ojvn37yuFwqHv37po4cWKlx6nUv/rDhw9XVFSUxo4dq4kTJ7omufj6+qpt27aaPn26br/99koXgTPLKjqmrMJ8xZ4ySS4kwFbuWfWZhJazWmB5VwOqUoQtyKPtSCUmKgK1QUmJ55dY2Ww2wh+VMmvWrDNut9lsmjBhgiZMmHBe41T6lK9///7q37+/SktLlZ2dLen32a2nfrkFqtaKrAzdnHi5W1u9oDDtyKvc45X1gj0fQTpSXL3h38Qe49FWmacUgNogNNTzCZaCAn7PUTOd89r+/v7+io+PV3x8PMF/ASzat9Wj7dQldCuiTYznzP5zmThYGdfUa+rRtvlo5Z5JBWoyHx8f1a9f362toKBAJ07wFBNqJr7Yp5aYv3uDx73zmxNbVbqfWxu19mhbeg6PDFZUYmikbkho4dZWWFqiVVm7qm1M4EJr0aKFgoLcb2/t2rXLO8UAFUD41xLHSh36ZOcvbm2Nw2Iq9QGgU3xjj6sFhwqPafWh3VVS46l8LT5KT73VY3nihfs2q+Q0qxYCtY2fn5/69Onj0V6Rx54BbyH8a5EJv37vMcP/uQ43KzE08qzHxtUJ1Sud+nq0v7Xxh9MGcdOwGPVp1Fo+5azrcDZWXz+N7dxPneo2dmsvczo1dt2C0xwFXFj169dXt27d3L41rTICAgL0wAMP6JJLLnFrP3bsGKudokYj/GuRjPxsvbXxR7e2SFuwZt/4F3U+JWT/qF1MA310419ULzjcrX1Xfo7e2Xz6xZUibcEad/UALe7zNz3QsovH8afTpW4TfdbzQfVJusJj23tbVmjraR5dBC60wMBA9evXT88//7xuueUWxcfHV+g4X19ftWnTRmPGjFHLli09ts+dO1eFhdU7kRY4HzxcX8u88vO3So1r5DZxL65OqN7vfo9WH9qthXs3a//xo3LKUN2gMF1zSVN1iEuUj8X9c17RiRLd+91/VXjC8/GkUyWGRukf7XvoH+17aFvuIW3MOaDNuZk6Wlyo/NJi+ciiMGugmoXHqVN8khrZo8vtZ/H+rXp6xbzz+wMAqkF4eLh69OihHj16KDs7W3v37tW+ffuUn5+voqIilZWVKTAwUKGhoUpISFDTpk0VHFz+QlVLliyp9HerAxca4V/LlDrLNHjBdH3wp3vVIsL9LKVdTAO1q8ATAPklxXpg0Qz9dvRgpcdvEhajJmGej+6dzfzdGzVyyQc6YfBd56jZoqKiFBUVpSuu8LxydSZOp1OLFi2q8i9gAaoD4V8LHXUU6tYvJunFq/qod5Ln7P0z2ZhzQA8tnqVteRfm0ntO8XG9tPYbzdiy8oKMB1RGaWmpnE6nfHzO7w7ogQMHNHPmTG3btq2KKgOqF+FfSxWcKNFDS2bp3S3L9ZeWXXTtJU1Pu0xvqbNMPx/eq2m/LdW8jPUVHmP1od26ff5b6hifpCtjGurSyLoKDbCd9bjiE6Val71XH21fq7k715W7pDBQE2RkZOiRRx7RpZdeqhYtWqhRo0YV+n4SScrLy9OmTZu0bNkybdmypZorBaoW4V/LrczapZVZu1THL0BXRNdXo9Ao2a2BKnM6dcRRqEOF+Vp9aLeOlVZ+idFSZ5mWHtzhtg5A/eBw1Q+JUN0gu+wBgarjFyCn4VReSbHySoq099gRbcg5wOV91BoFBQVauXKlVq78/epUYGCgYmJiFBUVpZCQEFmtVvn4+Ki4uFhFRUU6duyY9u7dq/z8fC9XDpw7wv8iUXiiRD8d3KGfqnHBHknae/yo9p7mWwaBi0FRUZF2796t3burZ/0LoCbgUT8AAEyG8AcAwGQIfwAATIbwBwDAZAh/AABMhvAHAMBkCH8AAEyG8AcAwGQIfwAATIbwBwDAZAh/AABMhvAHAMBkCH8AAEyG8AcAwGQIfwAATIbwBwDAZAh/AABMhvAHAMBkCH8AAEyG8AcAwGQIfwAATIbwBwDAZAh/AABMhvAHAMBkCH8AAEyG8AcAwGQIfwAATIbwBwDAZAh/AABMhvAHAMBkCH8AAEzGz9sFAABQ06R9/VsV9nZTFfZVNTjzBwDAZAh/AABMhvAHAMBkCH8AAEyG8AcAwGQIfwAAaqAXXnhBFotFDz/8sKutuLhYw4cPV2RkpIKDg9W3b19lZWVVum/CHwCAGmbVqlWaMmWKWrVq5dY+atQozZs3T7Nnz9bixYt14MAB9enTp9L9E/4AANQgx48f1x133KG33npL4eHhrva8vDxNnTpV//73v9W1a1e1bdtW06ZN09KlS7V8+fJKjUH4AwBQjRwOh/Lz891eDofjtPsPHz5cPXv2VLdu3dza16xZo9LSUrf25ORkJSQkaNmyZZWqifAHAKAapaeny263u73S09PL3XfWrFlau3ZtudszMzMVEBCgsLAwt/bY2FhlZmZWqiaW9wUAoBqNHj1aaWlpbm1Wq9Vjv71792rkyJH69ttvZbPZqrUmwh8AgGpktVrLDftTrVmzRocOHVKbNm1cbWVlZVqyZIneeOMNff311yopKVFubq7b2X9WVpbi4uIqVRPhDwBADXDdddfp119/dWsbOnSokpOT9dhjj6l+/fry9/fXwoUL1bdvX0nSli1btGfPHqWmplZqLMIfAIAaICQkRC1btnRrCwoKUmRkpKt92LBhSktLU0REhEJDQzVixAilpqaqQ4cOlRqL8AcAoJYYO3asfHx81LdvXzkcDnXv3l0TJ06sdD+EPwAANdT333/v9t5ms2nChAmaMGHCefXLo34AAJgM4Q8AgMkQ/gAAmAzhDwCAyRD+AACYDOEPAIDJEP4AAJgM4Q8AgMkQ/gAAmAzhDwCAyRD+AACYDOEPAIDJEP4AAJgM4Q8AgMkQ/gAAmAzhDwCAyRD+AACYDOEPAIDJEP4AAJgM4Q8AgMkQ/gAAmAzhDwCAyRD+AACYDOEPAIDJEP4AAJgM4Q8AgMkQ/gAAmAzhDwCAyfh5u4CTei4/6u0SgBrn6evf9nYJQA01xdsF1Go1JvwBAKgpxjz5RpX1NUWPVllfVYXL/gAAmAzhDwCAyRD+AACYDOEPAIDJEP4AAJgM4Q8AgMkQ/gAAmAzhDwCAyRD+AACYDOEPAIDJEP4AAJgM4Q8AgMkQ/gAAmAzhDwCAyRD+AACYDOEPAIDJEP4AAJgM4Q8AgMkQ/gAA1BCTJk1Sq1atFBoaqtDQUKWmpuqrr75ybS8uLtbw4cMVGRmp4OBg9e3bV1lZWZUeh/AHAKCGqFevnl544QWtWbNGq1evVteuXXXLLbdo48aNkqRRo0Zp3rx5mj17thYvXqwDBw6oT58+lR7Hr6oLBwAA56ZXr15u7//5z39q0qRJWr58uerVq6epU6dq5syZ6tq1qyRp2rRpat68uZYvX64OHTpUeBzO/AEAqEYOh0P5+fluL4fDcdbjysrKNGvWLBUUFCg1NVVr1qxRaWmpunXr5tonOTlZCQkJWrZsWaVqIvwBAKhG6enpstvtbq/09PTT7v/rr78qODhYVqtV999/v+bOnasWLVooMzNTAQEBCgsLc9s/NjZWmZmZlaqJy/4AAFSj0aNHKy0tza3NarWedv9mzZpp3bp1ysvL00cffaTBgwdr8eLFVVoT4Q8AQDWyWq1nDPtTBQQEqHHjxpKktm3batWqVXr99dfVv39/lZSUKDc31+3sPysrS3FxcZWqicv+AADUYE6nUw6HQ23btpW/v78WLlzo2rZlyxbt2bNHqampleqTM38AAGqI0aNH68Ybb1RCQoKOHTummTNn6vvvv9fXX38tu92uYcOGKS0tTREREQoNDdWIESOUmppaqZn+EuEPAECNcejQIQ0aNEgHDx6U3W5Xq1at9PXXX+v666+XJI0dO1Y+Pj7q27evHA6HunfvrokTJ1Z6HMIfAIAaYurUqWfcbrPZNGHCBE2YMOG8xuGePwAAJkP4AwBgMoQ/AAAmQ/gDAGAyhD8AACZD+AMAYDKEPwAAJkP4AwBgMoQ/AAAmQ/gDAGAyhD8AACZD+AMAYDKEPwAAJkP4AwBgMoQ/AAAmQ/gDAGAyft4uAACAmuZp/33eLqFaceYPAIDJEP4AAJgM4Q8AgMkQ/gAAmAzhDwCAyRD+AACYDOEPAIDJEP4AAJgM4Q8AgMkQ/gAAmAzhDwCAyRD+AACYDOEPAIDJEP4AAJgM4Q8AgMkQ/gAAmAzhDwCAyRD+AACYDOEPAIDJEP4AAJgM4Q8AgMkQ/gAAmIyftwsAgKp2okzamx2g3Yf8lVvgq+PFvvL3MxRiK1NkSJma1StWWJDT22UCXkP4A6j1DEPatNeqVdvqaM2OOtq8z6bSMssZj6kfVaI/tTmmnu3yzvmDQP+XGygr1/+cjv2j8OATmjt613n3A1QU4W8CU6ZMqZZ+t2zZon//+9/V0jdQEUeP+2rWD2H6fkNwpUN4b3aA3vomUu8uCtc91+fotqvyZDnz5wXgosE9fwC11o7MAH3wY/h5nX07Sn004ctoPf5uvEpOVGFxQA3GmT/O2c6dO71dAlAuP19DTes6dFmDIkXbTyg8uExlZRYdzvfTup2BWrMjUE7D/TR/xdYgPfN+nJ69I1O+53haFB58QhHBZZU+zh5U+WOA80H4m8DevXvPu4/69et7tC1btuy8+wWq0uWJRerZLk+dWxQoMMAod587rj6qvdn+emVujH7ZFei27afNwfpspV23dsg7p/FvvjJfQ687ck7HAhcS4W8Czz///Hkdn5ycrFGjRrm17dy5U1lZWefVL1AVLBZD17Q8riFdj6hBTGmFjqkfVap/D9uvZ2bFacnGYLdt0xZEqPsV+apjLf/DA3AxIPxxVqmpqR5tS5cu9UIlgLtLIko19aG9ahRXUuljfX2kf/TL0uZ9Vh3K+9+cgfwiX63cWkfXXFZQlaUCNQoT/nBGVqtVV1xxhVtbSUmJVq1a5aWKgP+JjzhxTsF/ktXf0O2dcj3al28NOp+ygBqP8McZtWvXTlar1a3t559/VnFxsZcqAqrWlU0KPdoOHj3/Z/eBmozwxxmVd8mfiX64mMSGeT7fd/S4rxcqAaT09HS1b99eISEhiomJUe/evbVlyxa3fYqLizV8+HBFRkYqODhYffv2rfQcLMIfpxUdHa0mTZq4tR05ckSbN2/2UkVA1Ssq8VzZx+rH0r/wjsWLF2v48OFavny5vv32W5WWluqGG25QQcH/5qCMGjVK8+bN0+zZs7V48WIdOHBAffr0qdQ4TPjDaV111VUebcuXL5dhMAsaF48DRzwv8UeE8Nw9vGP+/Plu76dPn66YmBitWbNGXbp0UV5enqZOnaqZM2eqa9eukqRp06apefPmWr58uTp06FChcQh/lMtisSglJcWjnVn+uNj8sCnYo63ZJY5z6mv7gQCN/zxKG/bYlJ3vp/xCX1n9nQqt41REyAldllCsyxOL1DapUP7862saDodDDof775TVavWYT1WevLzf15yIiIiQJK1Zs0alpaXq1q2ba5/k5GQlJCRo2bJlFQ5/LvujXM2aNVNkZKRb27Zt23T48GEvVQRUvZIT0rc/h3i0X5V8bo/5/bQ5WHOWhWnLfptyjvmptMyi48W+OnDEXxt2B+r9H8L1+Lt1NfCVhvrwxzAVl3PLARef9PR02e12t1d6evpZj3M6nXr44YfVsWNHtWzZUpKUmZmpgIAAhYWFue0bGxurzMzMCtfEZ0+Uq7xL/pz142Lz0dIwZR9z/2ewUazjnM/8Kyr7mJ8mfhWlL9eE6Jk/Z6pBdMUWJ0LtNHr0aKWlpbm1VeSsf/jw4dqwYYN+/PHHKq+JM394sNlsat26tVubw+HQmjVrvFQRUPV2H/bXO99FeLQPuz7nvL7dz8/XUFTICTWMcahuRImCbKefP7DrkFX3T6yvDbtt5z4gajyr1arQ0FC319nC/6GHHtLnn3+uRYsWqV69eq72uLg4lZSUKDfXfX2KrKwsxcXFVbgmzvzhobxn+9euXetxzwqorYpLLHrm/Tg5St3PfzomH1fH5p7P/Z+Jr4+hNo2KlJpcoMsTi5QQVeJxP//gET+t3l5Hc5bZteuQ+9+tohIfPTEjTpMe2Kf4cL5W0OwMw9CIESM0d+5cff/990pMTHTb3rZtW/n7+2vhwoXq27evpN+/Xn3Pnj3lPpp9OoQ/PLCcLy5mhiGlz4nVziz3EA4POqG03pWb0zKw81F1bF6gaPuZnw6IjzihXlfm66b2+fpoqV1Tvo7SibL/XV7ILfDTCx/F6vV791dqfFx8hg8frpkzZ+rTTz9VSEiI6z6+3W5XYGCg7Ha7hg0bprS0NEVERCg0NFQjRoxQampqhSf7SYQ/ThETE6PGjRu7tWVnZ2vr1q1eqgioWm99E6nFG9xn+Pv4GHqif5YiK/mIX+8O+ZXa32KR+nXMU3z4CT01M87ta4V/2RWoVdsC1b5JUaX6xMVl0qRJkqRrrrnGrX3atGkaMmSIJGns2LHy8fFR37595XA41L17d02cOLFS4xD+cMOKfriYzf7JrplLwj3a/3bLIbVNunCh26lFgQZ2OaoZi93nHHy0NIzwN7mKrKNis9k0YcIETZgw4ZzHqfIJf3v37tXdd99d1d3iArBYLB6XjZxOJ+GPi8JXa0M08asoj/a/dM9Wz3bHLng9A7vkKviUyYC/ZASqlNv+uACqPPyPHDmid95554z7OBwO5efnu73KylhRy9uSk5NdC0mctG3bNuXk5HipIqBqfL8hSC/PjZFhuE/jv/PqIxrYxfNb/S6EYJtTKU3dJxcWl/rot33M/Ef1q/Rl/88+++yM23fu3HnWPtLT0/XMM8+4tbVp00bt2rWrbDmoQjzbj4vR8i119M8P4+R0ugf/rR1ydc8NR7xU1e9aNSzSwvXuiwwdyuNubE3w/apLqqyvgbdVWVdVptK/Zb1795bFYjnjfQnLWR6SLW/Bg1Pf48Iq79n+4uJirV271ksVAedv7Y5APTUzTqVl7v8m3dgmX3+9KdtLVf1Ped8hkFvANwqi+lX6sn98fLw+/vhjOZ3Ocl8VCYvyFjzw9eUX3pvat2+vgIAAt7bVq1erpKTESxUB52fDbpv+77/xKjnh/s9c11bH9Oith85rIZ+qYvX3PIk6de0BoDpU+resbdu2Z1zp7WxXBVAzMcsfF5Mt+6167N14FZecsohP8+P6v9uy5FND8jWvwLMQex3mP6H6Vfqy/6OPPur2vcKnaty4sRYtWnReReHCiomJUVJSkltbVlaWtm/f7qWKgHO3MytAj06vq4Ji96uJ7ZsU6OkBmfKrQRcZdx8O8GizBxH+qH6VDv/OnTufcXtQUJCuvvrqcy4IF155E/2WL1/uhUqA87Mv21+P/Keu8gvdE751YqGevyOzxn2N7sqtdTzaGsWyjDaqXw25+AVv4dl+XCwyj/op7T91deS4e8K3TCjSv+46WO79dW/6eWegth5wf6yvbkSJLonkQX9UP8Lf5Jo3b67wcPcVzzZv3qyjR496qSKg8nLyffW3aXV1KM/frb1p3WK9MPig6lhrVvAXOix6fZ7ngkNdLj39LVWgKhH+JseX+KC2yyv00d+m1dX+HPf750lxDr0y9ICCbc4qH3P9LpuWbva8ZF8Rx4p89MSMeI9v96tjdWpAZz5048KoYXfAcCEFBgZ6PNtfWFiodevWeakioHIKii16dFpdjyBNiC7RK0MPKLRO1Qe/JO0/4q8X58SqSXyxerQ7pi6XHj/rlwI5ndKSjUGa8nWUDh7199g+6NojCguqnnqBUxH+Jna6Z/tLS0u9VBFQOR8vC/O4by5JjlKLHplW97z6njpi71n32XbQptfn2TT+8yglxpaocbxDDWNKFBLoVLCtTKVlFuUV+mr7QavW7gj0uC1x0p/a5GtAZ+8sMwxzIvxNjGf7UdudcJa/Uk9Wrr+yLmAdTsOiHZlW7ci0nn3nU/Rqn6eRvQ5XQ1XA6RH+JhUbG6tGjRq5tWVmZlbouxkAnL8Ye6lG9MxWZyb5wQsIf5PiS3yAc3dty+MKDyrT2h2B2rAnUDszA1RcgWV561idujShSD3b5qvzpQXyZco1vITwNyGLxaKUlBS3NqfTqRUrVnipIuDcDL3uiIZed+G/mc8WYKhDs0J1aPb7V/I6nb9PAsw86qfDeX46XuwrR6lFvr6GQmxOhQSWqV5UqRrFltSYpYVhboS/CRmGoccff9zbZQAXDR8fqX5UqepHMVkWtQOfQQEAMBnCHwAAkyH8AQAwGcIfAACTIfwBADAZwh8AAJMh/AEAMBnCHwAAkyH8AQAwGcIfAACTIfwBADAZwh8AAJMh/AEAMBnCHwAAkyH8AQAwGcIfAACTIfwBADAZwh8AAJMh/AEAMBnCHwAAkyH8AQAwGcIfAACTIfwBADAZwh8AAJMh/AEAMBnCHwAAkyH8AQAwGcIfAACTIfwBADAZwh8AAJMh/AEAMBk/bxcAAEBN833ujVXW18BK7LtkyRK9/PLLWrNmjQ4ePKi5c+eqd+/eru2GYWjMmDF66623lJubq44dO2rSpElq0qRJpWrizB8AgBqioKBAl19+uSZMmFDu9pdeeknjxo3T5MmTtWLFCgUFBal79+4qLi6u1Dic+QMAUEPceOONuvHG8q86GIah1157TU888YRuueUWSdK7776r2NhYffLJJxowYECFx+HMHwCAauRwOJSfn+/2cjgcle4nIyNDmZmZ6tatm6vNbrcrJSVFy5Ytq1RfhD8AANUoPT1ddrvd7ZWenl7pfjIzMyVJsbGxbu2xsbGubRXFZX8AAKrR6NGjlZaW5tZmtVq9VM3vCH8AAKqR1WqtkrCPi4uTJGVlZSk+Pt7VnpWVpdatW1eqLy77AwBQCyQmJiouLk4LFy50teXn52vFihVKTU2tVF+c+QMAUEMcP35c27dvd73PyMjQunXrFBERoYSEBD388MN6/vnn1aRJEyUmJurJJ59U3bp13dYCqAjCHwCAGmL16tW69tprXe9PzhUYPHiwpk+frr///e8qKCjQfffdp9zcXHXq1Enz58+XzWar1DiEPwAANcQ111wjwzBOu91isejZZ5/Vs88+e17jcM8fAACTIfwBADAZwh8AAJMh/AEAMBnCHwAAkyH8AQAwGcIfAACTIfwBADAZwh8AAJMh/AEAMBnCHwAAkyH8AQAwGcIfAACTIfwBADAZwh8AAJMh/AEAMBnCHwAAkyH8AQAwGcIfAACTIfwBADAZwh8AAJMh/AEAMBnCHwAAkyH8AQAwGcIfAACTIfwBADAZwh8AAJMh/AEAMBnCHwAAkyH8AQAwGcIfAACTIfwBADAZwh8AAJMh/AEAMBmLYRiGt4tAzeFwOJSenq7Ro0fLarV6uxygRuDvBS42hD/c5Ofny263Ky8vT6Ghod4uB6gR+HuBiw2X/QEAMBnCHwAAkyH8AQAwGcIfbqxWq8aMGcOkJuAP+HuBiw0T/gAAMBnO/AEAMBnCHwAAkyH8AQAwGcIfAACTIfwBADAZwh8uEyZMUMOGDWWz2ZSSkqKVK1d6uyTAq5YsWaJevXqpbt26slgs+uSTT7xdElAlCH9Ikj744AOlpaVpzJgxWrt2rS6//HJ1795dhw4d8nZpgNcUFBTo8ssv14QJE7xdClCleM4fkqSUlBS1b99eb7zxhiTJ6XSqfv36GjFihB5//HEvVwd4n8Vi0dy5c9W7d29vlwKcN878oZKSEq1Zs0bdunVztfn4+Khbt25atmyZFysDAFQHwh/Kzs5WWVmZYmNj3dpjY2OVmZnppaoAANWF8AcAwGQIfygqKkq+vr7Kyspya8/KylJcXJyXqgIAVBfCHwoICFDbtm21cOFCV5vT6dTChQuVmprqxcoAANXBz9sFoGZIS0vT4MGD1a5dO1155ZV67bXXVFBQoKFDh3q7NMBrjh8/ru3bt7veZ2RkaN26dYqIiFBCQoIXKwPOD4/6weWNN97Qyy+/rMzMTLVu3Vrjxo1TSkqKt8sCvOb777/Xtdde69E+ePBgTZ8+/cIXBFQRwh8AAJPhnj8AACZD+AMAYDKEPwAAJkP4AwBgMoQ/AAAmQ/gDAGAyhD8AACZD+AMAYDKEPwAAJkP4AwBgMoQ/AAAm8//w+HhlP6/11AAAAABJRU5ErkJggg==\n",
            "text/plain": [
              "<Figure size 640x480 with 2 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "BjqPp790GXK3"
      },
      "source": [
        "Just to illustrate the diffence Feature Scaling can make. Above results are when model was trained on Scaled Features. \r\n",
        "\r\n",
        "Next up, we'll train on non-scaled features and see the difference."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 452
        },
        "id": "Cl1V7O1rGByL",
        "outputId": "4a18bb4d-ec1b-4030-bcf9-fee11492f070"
      },
      "source": [
        "lr = LogisticRegression()\r\n",
        "lr.fit(X_train,y_train)\r\n",
        "yp1 = lr.predict(X_test)\r\n",
        "\r\n",
        "cm2 = confusion_matrix(yp1,y_test)\r\n",
        "ac2 = accuracy_score(yp1,y_test)\r\n",
        "plt.style.use('default')\r\n",
        "plt.title(f'Accuracy(Non-Scaled)-{ac2*100}%')\r\n",
        "sns.heatmap(cm2,cmap='Dark2_r',annot=True,annot_kws={'fontsize':35});"
      ],
      "execution_count": 54,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 640x480 with 2 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "3ecM0v9qHb7f",
        "outputId": "568f64a2-29d7-412b-9aaf-fb93df0a2e3f"
      },
      "source": [
        "classifier.coef_"
      ],
      "execution_count": 55,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "array([[0.09452625, 2.09587724, 1.11776434]])"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 55
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "1Q63zpFKIxgj"
      },
      "source": [
        "yp_probs = classifier.predict_proba(scaled_X_test)"
      ],
      "execution_count": 56,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "o4PJh2xAJdeM"
      },
      "source": [
        ""
      ],
      "execution_count": 61,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Nwx-GFTsJjUI"
      },
      "source": [
        ""
      ],
      "execution_count": 61,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "0FSOifhEKIyI"
      },
      "source": [
        ""
      ],
      "execution_count": null,
      "outputs": []
    }
  ]
}